﻿//-----------------------------------------------------------------------------------------------------------
// WBFSSync Project by Omega Frost 
// http://wbfssync.codeplex.com/
//
// WBFSSync is Licensed under the terms of the 
// Microsoft Reciprocal License (Ms-RL)
//-----------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WBFSe3
{
    public enum WbfsError : int
    {
        Ok                              = 0,
        Fail                            = -1,

        //----- Dialog Results

        Cancel                          = -13,
        Retry                           = -14,
        Ignore                          = -15,
        Replace                         = -16,
        ReplaceAll                      = -17,
        Skip                            = -18,
        SkipAll                         = -19,
        Rename                          = -20,
        RenameAll                       = -21,

        //----- DiscBuilder

        DiscMagic1Incorrect             = -101,
        DiscMagic2Incorrect             = -102,
        DiscTitleDecryptFail            = -103,
        DiscBlockDecryptFail            = -104,
        DiscInvalidRegion               = -105,

        //----- IO

        IOError                         = -201,
        IOFileNotFound                  = -202,
        IODirNotFound                   = -203,
        IOSeekError                     = -204,
        IOReadError                     = -205,
        IOWriteError                    = -206,
        IOAccessDenied                  = -207,
        IOSecurityError                 = -208,
        IOSharingViolation              = -209,
        IODisposed                      = -210,

        //----- WbfsFileInfo

        FileInvalidStream               = -201,
        FileCannotReadStream            = -202,
        FileCannotWriteStream           = -203,
        FileNotReady                    = -204,
        FileNotFound                    = -205,
        FileFailedToCreate              = -206,
        FileAccessDenied                = -207,
        FileNotAGame                    = -208,

        //----- WbfsDevice

        DeviceMagicIncorrect            = -301,
        DeviceSectorCountMismatch       = -302,
        DeviceSectorSizeMismatch        = -303,
        DeviceWbfsSectorSizeMismatch    = -304,
        DeviceFull                      = -305,
        DeviceDiscTableFull             = -306,
        DeviceDiscRepeated              = -307,
        DevicePartitionTooLarge         = -308,
        DeviceInUse                     = -309,
        DeviceInvalidDrive              = -310,

        //----- Formats

        FormatNotSupported              = -506,
        FormatBadFile                   = -508,
        FormatMissingParts              = -509,
        FormatFixNeeded                 = -510,
        FormatTypeless                  = -513,

        //----- Drives

        DriveNotFound                   = -601,
        DriveDisconnected               = -602,
        DriveNotSupported               = -603,
        DriveIsWbfs                     = -604,
        DriveNotReady                   = -605,
        DriveReplace                    = -606,
    }
}
